/*****************************************************************************
	SNEGA UTILITIES 0.7a
	Copyright (C) 2009, Xiaohan Tian (snega0223)
	
	http://code.google.com/p/snega-utilities/
	
	This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License(LGPL) as
	published by the Free Software Foundation, either version 3 of the 
	License, or(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU Lesser General Public License for more details.
	
	You should have received a copy of the GNU Lesser General Public License
	along with this program.  If not, see <http://www.gnu.org/licenses/>.
*****************************************************************************/

package org.sng.util.var.calc;

import org.sng.util.var.*;
import org.sng.util.web.elmt.*;

public class SOpIs extends SBool {
	
	protected SVoid m_v1, m_v2;
	
	public SOpIs(SVoid v1, SVoid v2)
	{
		this.m_v1 = v1;
		this.m_v2 = v2;
	}
	
	public boolean GetBool(RuntimeEnvironment in)
	{
		SVoid v1 = this.m_v1.Get(in), v2 = this.m_v2.Get(in);
		
		if (v1.GetType() == SType.BOOL || v2.GetType() == SType.BOOL)	{
			return v1.GetBool(in) == v2.GetBool(in);
		}
		else if (v1.GetType() == SType.STRING || v2.GetType() == SType.STRING) {
			if (v1.GetString(in).compareTo(v2.GetString(in)) == 0) {
				return true;
			}
			else {
				return false;
			}
		}
		else {
			return v1.GetInt(in) == v2.GetInt(in);
		}
	}

}
